<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return redirect()->route('show.login');
});

/*
|--------------------------------------------------------------------------
| 图形验证码相关路由
|--------------------------------------------------------------------------
*/
Route::group(['prefix' => 'vcode'], function () {
    // 获取图片路径
    Route::post('path', function () {
        return captcha_src('flat');
    });

    // 获取图片路径（应用于表单提交）
    Route::post('path/form', function () {
        return captcha_src('mini');
    });

    // 获取图片
    Route::post('img', function () {
        return captcha_img('flat');
    });
});

/*
|--------------------------------------------------------------------------
| V1版本相关路由
|--------------------------------------------------------------------------
*/
Route::group(['namespace' => 'V1'],function (){
    // 登录鉴权相关路由
    Route::group(['namespace' => 'Auth'], function () {
        // 进入用户登录页面
        Route::get('admin/login', 'AuthController@showLoginForm')->name('show.login');
        // 用户登录
        Route::post('admin/login', 'AuthController@login')->name('login');
        // 用户登出
        Route::get('admin/logout', 'AuthController@logout')->name('logout');
        // 忘记密码
        Route::post('admin/forgot', 'ForgotPasswordController@store')->name('forgot');
    });

    // 管理主界面相关路由
    Route::group(['namespace' => 'Admin', 'middleware' => 'auth'], function () {
//        // 欢迎页面
        Route::get('welcome', function () {
            return view('v1.welcome');
        });

        // 进入后台界面
        Route::get('admin/index', 'DashboardController@index');
        // 获取子菜单
        Route::get('admin/submenus/{menucode}', 'DashboardController@submenus', function ($menucode = 'm100') {

        });
        // 进入个人信息界面
        Route::get('admin/profile', 'ProfileController@index');
        // 更新个人信息
        Route::post('admin/profile', 'ProfileController@update');
        // 进入修改密码界面
        Route::get('admin/password', 'ProfileController@password');
        // 更新个人密码信息
        Route::post('admin/password', 'ProfileController@resetPassword');
    });


// 文件上传相关路由
    Route::group(['namespace' => 'Upload', 'middleware' => 'auth'], function () {
        // 上传更新头像
        Route::post('upload/avatar', 'ImageUploadController@uploadAvatar');
        // 上传维护员头像
        Route::post('upload/maintainer/avatar', 'ImageUploadController@uploadMaintainerAvatar');
        // 上传变电站图片
        Route::post('upload/substation/picture', 'ImageUploadController@uploadSubstationPicture');

    });

    // Excel相关路由
    Route::group(['namespace' => 'Excel', 'middleware' => 'auth'], function () {
        // 下载表格的index页面
        Route::get('export/index', 'CollectDataExcelController@index');
       // 下载属于指定客户的采集数据的表格
        Route::get('export/customers_collect_data/{customer_code}', 'CollectDataExcelController@exportData');



    });

// 基础数据管理相关路由
    Route::group(['namespace' => 'BasicData', 'middleware' => ['auth']], function () {
        // 客户管理
        Route::group(['prefix' => 'customers'], function () {
            // 进入客户管理主界面
            Route::get('index', 'CustomersController@index');
            // 获取客户列表数据
            Route::post('index', 'CustomersController@postIndex');

            // 进入单条客户数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'CustomersController@showView');

            // 新增客户信息
            Route::post('add', 'CustomersController@addData');

            // 更新客户信息
            Route::post('update/cell', 'CustomersController@updateCellData');
            // 更新客户信息
            Route::post('update', 'CustomersController@updateData');
            // 删除客户信息
            Route::post('delete', 'CustomersController@deleteData');
            // 删除客户信息
            Route::post('delete/batch', 'CustomersController@deleteBatchData');
        });

        // 维护员管理
        Route::group(['prefix' => 'maintainers'], function () {
            // 进入维护员管理主界面
            Route::get('index', 'MaintainersController@index');
            // 获取维护员列表数据
            Route::post('index', 'MaintainersController@postIndex');

            // 进入单条维护员数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'MaintainersController@showView');
            // 新增客户信息
            Route::post('add', 'MaintainersController@addData');
            // 更新维护员信息
            Route::post('update/cell', 'MaintainersController@updateCellData');
            // 更新维护员信息
            Route::post('update', 'MaintainersController@updateData');
            // 删除维护员信息
            Route::post('delete', 'MaintainersController@deleteData');
            // 删除维护员信息
            Route::post('delete/batch', 'MaintainersController@deleteBatchData');
        });
        // 变电站管理
        Route::group(['prefix' => 'substations'], function () {
            // 进入变电站管理主界面
            Route::get('index', 'SubstationsController@index');
            // 获取变电站列表数据
            Route::post('index', 'SubstationsController@postIndex');

            // 进入单条变电站数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'SubstationsController@showView');

            // 新增变电站信息
            Route::post('add', 'SubstationsController@addData');

            // 更新变电站信息
            Route::post('update/cell', 'SubstationsController@updateCellData');
            // 更新变电站信息
            Route::post('update', 'SubstationsController@updateData');
            // 删除变电站信息
            Route::post('delete', 'SubstationsController@deleteData');
            // 删除变电站信息
            Route::post('delete/batch', 'SubstationsController@deleteBatchData');
        });

        // 变压器管理
        Route::group(['prefix' => 'transformers'], function () {
            // 进入变压器管理主界面
            Route::get('index', 'TransformersController@index');
            // 获取变压器列表数据
            Route::post('index', 'TransformersController@postIndex');

            // 进入单条变压器数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'TransformersController@showView');

            // 新增变电站信息
            Route::post('add', 'TransformersController@addData');

            // 更新变压器信息
            Route::post('update/cell', 'TransformersController@updateCellData');
            // 更新变压器信息
            Route::post('update', 'TransformersController@updateData');
            // 删除变压器信息
            Route::post('delete', 'TransformersController@deleteData');
            // 删除变压器信息
            Route::post('delete/batch', 'TransformersController@deleteBatchData');
        });

        // 采集器管理
        Route::group(['prefix' => 'collectors'], function () {
            // 进入采集器管理主界面
            Route::get('index', 'CollectorsController@index');
            // 获取采集器列表数据
            Route::post('index', 'CollectorsController@postIndex');

            // 进入单条采集器数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'CollectorsController@showView');

            // 新增变电站信息
            Route::post('add', 'CollectorsController@addData');

            // 更新采集器信息
            Route::post('update/cell', 'CollectorsController@updateCellData');
            // 更新采集器信息
            Route::post('update', 'CollectorsController@updateData');
            // 删除采集器信息
            Route::post('delete', 'CollectorsController@deleteData');
            // 删除采集器信息
            Route::post('delete/batch', 'CollectorsController@deleteBatchData');
        });

    });
    // 业务数据管理相关路由
    Route::group(['namespace' => 'BusinessData', 'middleware' => ['auth']], function () {
        // 采集的数据管理
        Route::group(['prefix' => 'collectData'], function () {
            // 进入采集的数据管理主界面
            Route::get('index', 'CollectDataController@index');
            // 获取有采集数据的回路列表
            Route::post('circuits', 'CollectDataController@postCircuitsIndex');
            // 获取回路的才有采集数据列表
            Route::post('index', 'CollectDataController@postCollectDataIndex');
            // 进入单条采集的数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'CollectDataController@showView');

            // 更新采集的数据信息
            Route::post('update/cell', 'CollectDataController@updateCellData');
            // 更新采集数的据信息
            Route::post('update', 'CollectDataController@updateData');
            // 删除采集的数据信息
            Route::post('delete', 'CollectDataController@deleteData');
            // 删除采集的数据信息
            Route::post('delete/batch', 'CollectDataController@deleteBatchData');
        });

        // 回路管理
        Route::group(['prefix' => 'circuit'], function () {
            // 仪表盘页面（报警数据首页）
            Route::get('instrument_board','CircuitController@showInstrumentBoard');
            // 仪表盘页面（报警数据首页）
//            Route::get('instrument_board', function () {
//                return view('v1.instrument_board');
//            });
            // 进入回路的详细界面
            Route::get('index', 'CircuitController@index');
            // 获取回路的报警数据列表
            Route::post('alarms', 'CircuitController@postCircuitAlarmsIndex');
            // 获取有报警数据的所有回路最近一次报警的所有回路列表
            Route::post('index', 'CircuitController@postCircuitsIndex');
            // 获取回路最近24小时的采集数据（默认每小时一条采集数据，最近24小时就是一天）
            Route::post('day/data', 'CircuitController@postLatest24HoursCollectData');
            // 进入单条采集的数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'CircuitController@showView');
//        // 新增采集的数据信息
//        Route::post('add', 'CircuitController@addData');

            // 更新采集的数据信息
            Route::post('update/cell', 'CircuitController@updateCellData');
            // 更新采集数的据信息
            Route::post('update', 'CircuitController@updateData');
            // 删除采集的数据信息
            Route::post('delete', 'CircuitController@deleteData');
            // 删除采集的数据信息
            Route::post('delete/batch', 'CircuitController@deleteBatchData');
        });

    });

// 用户权限相关理由
    Route::group(['namespace' => 'Permission'], function () {
        // 用户管理
        Route::group(['prefix' => 'users'], function () {
            // 进入用户管理主界面
            Route::get('index', 'UsersController@index');
            // 获取用户列表数据
            Route::post('index', 'UsersController@postIndex');

            // 进入单条用户数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'UsersController@showView');
            // 进入批量导入用户数据界面
            Route::get('import', 'UsersController@importView');

            // 更新用户信息
            Route::post('update/cell', 'UsersController@updateCellData');
            // 更新用户信息
            Route::post('update', 'UsersController@updateData');
            // 删除用户信息
            Route::post('delete', 'UsersController@deleteData');
            // 批量删除用户信息
            Route::post('delete/batch', 'UsersController@deleteBatchData');
        });

        // 角色管理
        Route::group(['prefix' => 'roles'], function () {
            // 进入角色管理主界面
            Route::get('index', 'RolesController@index');
            // 获取角色列表数据
            Route::post('index', 'RolesController@postIndex');

            // 进入单条角色数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'RolesController@showView');
            // 进入批量导入角色数据界面
            Route::get('import', 'RolesController@importView');
            //新增角色信息
            Route::post('add', 'RolesController@addData');
            // 更新角色信息
            Route::post('update', 'RolesController@updateData');
            // 删除角色信息
            Route::post('delete', 'RolesController@deleteData');
            // 批量删除角色信息
            Route::post('delete/batch', 'RolesController@deleteBatchData');
        });

        // 权限管理
        Route::group(['prefix' => 'permissions'], function () {
            // 进入权限管理主界面
            Route::get('index', 'PermissionsController@index');
            // 获取权限列表数据
            Route::post('index', 'PermissionsController@postIndex');

            // 进入单条权限数据显示界面（适用于新增、编辑、查看功能）
            Route::get('item', 'PermissionsController@showView');
            // 进入批量导入权限数据界面
            Route::get('import', 'PermissionsController@importView');

            // 更新权限信息
            Route::post('update/cell', 'PermissionsController@updateCellData');
            // 更新权限信息
            Route::post('update', 'PermissionsController@updateData');
            // 删除权限信息
            Route::post('delete', 'PermissionsController@deleteData');
            // 批量删除权限信息
            Route::post('delete/batch', 'PermissionsController@deleteBatchData');
        });

    });
});
